package hcn.protocol.ods.checkAppointment.xml;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;

/**
 * 检查项目指定日期的可预约时间查询XML出参
 *
 * @author neoLin - 2023/01/13 15:39
 */
@XmlRootElement(name = "Data")
public class QueryAppointTimeXmlResponse {

    private Item item;

    @XmlElement(name = "Item")
    public Item getItem() {
        return item;
    }

    public void setItem(Item item) {
        this.item = item;
    }

    @XmlRootElement(name = "Item")
    public static class Item {

        /**
         * 检查申请单号
         */
        private String requestId;
        /**
         * 检查项目代码
         */
        private String itemCode;
        /**
         * 检查项目名称
         */
        private String itemName;
        /**
         * 号源日期
         */
        private String appointDate;
        /**
         * 预约队列
         */
        private String appointsQueue;
        /**
         * 预约名称
         */
        private String appointsQueueName;

        private List<AppointTime> appointTimes;

        @XmlElement(name = "RequestId")
        public String getRequestId() {
            return requestId;
        }

        public void setRequestId(String requestId) {
            this.requestId = requestId;
        }

        @XmlElement(name = "ItemCode")
        public String getItemCode() {
            return itemCode;
        }

        public void setItemCode(String itemCode) {
            this.itemCode = itemCode;
        }

        @XmlElement(name = "ItemName")
        public String getItemName() {
            return itemName;
        }

        public void setItemName(String itemName) {
            this.itemName = itemName;
        }

        @XmlElement(name = "AppointsDate")
        public String getAppointDate() {
            return appointDate;
        }

        public void setAppointDate(String appointDate) {
            this.appointDate = appointDate;
        }

        @XmlElement(name = "AppointsQueue")
        public String getAppointsQueue() {
            return appointsQueue;
        }

        public void setAppointsQueue(String appointsQueue) {
            this.appointsQueue = appointsQueue;
        }

        @XmlElement(name = "AppointsQueueName")
        public String getAppointsQueueName() {
            return appointsQueueName;
        }

        public void setAppointsQueueName(String appointsQueueName) {
            this.appointsQueueName = appointsQueueName;
        }

        @XmlElement(name = "Time")
        public List<AppointTime> getAppointTimes() {
            return appointTimes;
        }

        public void setAppointTimes(List<AppointTime> appointTimes) {
            this.appointTimes = appointTimes;
        }
    }


    @XmlRootElement(name = "Time")
    public static class AppointTime {
        /**
         * 预约队列
         */
        private String appointsQueue;
        /**
         * 预约日期yyyymmdd
         */
        private String appointsDate;
        /**
         * 预约名称
         */
        private String appointsQueueName;

        /**
         * 号源开始时间HHMMSS
         */
        private String appointsStartTime;
        /**
         * 号源结束时间HHMMSS
         */
        private String appointsEndTime;
        /**
         * 号源总数
         */
        private String totalNumberCount;
        /**
         * 号源剩余数量
         */
        private String remainNumberCount ;
        /**
         * 默认标志
         */
        private String defaultFlag;

        @XmlElement(name = "AppointsQueue")
        public String getAppointsQueue() {
            return appointsQueue;
        }

        public void setAppointsQueue(String appointsQueue) {
            this.appointsQueue = appointsQueue;
        }

        @XmlElement(name = "AppointsDate")
        public String getAppointsDate() {
            return appointsDate;
        }

        public void setAppointsDate(String appointsDate) {
            this.appointsDate = appointsDate;
        }

        @XmlElement(name = "AppointsQueueName")
        public String getAppointsQueueName() {
            return appointsQueueName;
        }

        public void setAppointsQueueName(String appointsQueueName) {
            this.appointsQueueName = appointsQueueName;
        }

        @XmlElement(name = "AppointsStartTime")
        public String getAppointsStartTime() {
            return appointsStartTime;
        }

        public void setAppointsStartTime(String appointsStartTime) {
            this.appointsStartTime = appointsStartTime;
        }

        @XmlElement(name = "AppointsEndTime")
        public String getAppointsEndTime() {
            return appointsEndTime;
        }

        public void setAppointsEndTime(String appointsEndTime) {
            this.appointsEndTime = appointsEndTime;
        }

        @XmlElement(name = "TotalNumberCount")
        public String getTotalNumberCount() {
            return totalNumberCount;
        }

        public void setTotalNumberCount(String totalNumberCount) {
            this.totalNumberCount = totalNumberCount;
        }

        @XmlElement(name = "RemainNumberCount")
        public String getRemainNumberCount() {
            return remainNumberCount;
        }

        public void setRemainNumberCount(String remainNumberCount) {
            this.remainNumberCount = remainNumberCount;
        }

        @XmlElement(name = "DefaultFlag")
        public String getDefaultFlag() {
            return defaultFlag;
        }

        public void setDefaultFlag(String defaultFlag) {
            this.defaultFlag = defaultFlag;
        }
    }
}
